/**
	@file Application.h
*/

#ifndef _APPLICATION_H_
#define _APPLICATION_H_

#include<Windows.h>

#include"Head.h"
#include"Timer.h"
#include"Graphics.h"
#include"Logger.h"
#include"ResourceManger.h"
#include"Input.h"
#include"LuaContext.h"
#include"Sprite.h"
#include"Game.h"

class ZApplication
{
public:
	ZApplication();
	virtual ~ZApplication();

	bool Init(HINSTANCE hInstance);
	void Run();

	bool Update();

private:
	HINSTANCE m_hInst;
	HWND	  m_hWnd;

	int m_width;
	int m_height;

	zLogger*		 m_pLogger;
	Timer*			 m_pTimer;
	zGraphics*		 m_pRender;
	zResourceManger* m_pResourceManger;
	InputManger*     m_pInputManger;
	zLuaContext*	 m_pLuaContext;
	
	zGame*           m_pGame;
	zGameManger*     m_pGameManger;

};


#endif